home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / PWABFV20.ZIP / VIEW.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-02-19  |  26KB  |  1,925 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN008
  27.     Boolean  BOOLEAN009
  28.     Boolean  BOOLEAN010
  29.     Boolean  BOOLEAN011
  30.     Boolean  BOOLEAN012
  31.     Boolean  BOOLEAN013
  32.     Boolean  BOOLEAN014
  33.     Boolean  BOOLEAN015
  34.     Boolean  BOOLEAN016
  35.     Boolean  BOOLEAN017
  36.     Boolean  TBOOLEAN018(1)
  37.     Boolean  BOOLEAN019
  38.     Boolean  BOOLEAN020
  39.     Boolean  BOOLEAN021
  40.     Boolean  BOOLEAN022
  41.     Boolean  BOOLEAN023
  42.     Boolean  BOOLEAN024
  43.     Boolean  BOOLEAN025
  44.     Boolean  BOOLEAN026
  45.     Boolean  BOOLEAN027
  46.     Boolean  BOOLEAN028
  47.     Integer  INTEGER001
  48.     Integer  INTEGER002
  49.     Integer  INTEGER003
  50.     Integer  INTEGER004
  51.     Integer  INTEGER005
  52.     Integer  INTEGER006
  53.     Integer  INTEGER007
  54.     Integer  INTEGER008
  55.     Integer  INTEGER009
  56.     Integer  INTEGER010
  57.     Integer  INTEGER011
  58.     Integer  INTEGER012
  59.     Integer  INTEGER013
  60.     Integer  INTEGER014
  61.     Integer  INTEGER015
  62.     Integer  INTEGER016
  63.     Integer  INTEGER017
  64.     Integer  INTEGER018
  65.     Integer  INTEGER019
  66.     Integer  INTEGER020
  67.     Integer  INTEGER021
  68.     Integer  INTEGER022
  69.     Integer  INTEGER023
  70.     Integer  INTEGER024
  71.     Integer  INTEGER025
  72.     Integer  INTEGER026
  73.     Integer  INTEGER027
  74.     Integer  INTEGER028
  75.     Integer  INTEGER029
  76.     Integer  INTEGER030
  77.     Integer  INTEGER031
  78.     Integer  INTEGER032
  79.     Integer  INTEGER033
  80.     Integer  INTEGER034
  81.     Integer  INTEGER035
  82.     Integer  INTEGER036
  83.     Integer  INTEGER037
  84.     Integer  INTEGER038
  85.     Integer  INTEGER039
  86.     Integer  INTEGER040
  87.     Integer  INTEGER041
  88.     Integer  INTEGER042
  89.     Real     REAL001
  90.     String   STRING001
  91.     String   STRING002
  92.     String   STRING003
  93.     String   STRING004
  94.     String   STRING005
  95.     String   STRING006
  96.     String   STRING007
  97.     String   STRING008
  98.     String   STRING009
  99.     String   STRING010
  100.     String   STRING011
  101.     String   STRING012
  102.     String   TSTRING013(10)
  103.     String   STRING014
  104.     String   STRING015
  105.     String   STRING016
  106.     String   STRING017
  107.     String   STRING018
  108.     String   STRING019
  109.     String   STRING020
  110.     String   STRING021
  111.     String   STRING022
  112.     String   STRING023
  113.     String   STRING024
  114.     String   STRING025
  115.     String   STRING026
  116.     String   TSTRING027(1)
  117.     String   STRING028
  118.     String   STRING029
  119.     String   STRING030
  120.     String   STRING031
  121.     String   STRING032
  122.     String   STRING033
  123.     String   STRING034
  124.     String   STRING035
  125.     String   STRING036
  126.     String   STRING037
  127.     String   STRING038
  128.     String   STRING039
  129.     String   STRING040
  130.     String   STRING041
  131.     String   STRING042
  132.     String   STRING043
  133.     String   STRING044
  134.     String   STRING045
  135.     Byte     BYTE001
  136.     Int      INT001
  137.     Int      INT002
  138.     Int      INT003
  139.     Int      INT004
  140.     Int      INT005
  141.     Int      INT006
  142.     Int      INT007
  143.     Int      TINT008(10)
  144.     Int      TINT009(10)
  145.     Int      INT010
  146.     Int      INT011
  147.     Int      INT012
  148.     Int      INT013
  149.     Int      INT014
  150.     Int      INT015
  151.     Int      INT016
  152.     Int      INT017
  153.     Int      INT018
  154.     Int      INT019
  155.     BigStr   BIGSTR001
  156.  
  157. ;------------------------------------------------------------------------------
  158.  
  159.     STRING011 = PPEPath() + "graph\vtext"
  160.     INT002 = 80
  161.     If (TokCount() == 1) Then
  162.         STRING009 = GetToken()
  163.         If (STRING009 == 557) Then
  164.             BOOLEAN014 = 1
  165.             STRING009 = ""
  166.             STRING010 = ""
  167.             If (PPLBufSize() <> 0) Then
  168.                 STRING009 = Inkey()
  169.                 While ((STRING009 <> "") && (STRING009 <> Chr(13))) Do
  170.                     STRING010 = STRING010 + STRING009
  171.                     STRING009 = Inkey()
  172.                 EndWhile
  173.             Endif
  174.             If (STRING010 <> "/VIEW") Then
  175.                 STRING010 = ""
  176.                 FreshLine
  177.                 Newline
  178.                 InputStr ReadLine(STRING011, 17) + "_", STRING010, 7, 12, Mask_Pwd(), 0 + 2
  179.                 FreshLine
  180.                 If (STRING010 == "") Then
  181.                     KbdStuff Chr(13)
  182.                     End
  183.                     Goto LABEL001
  184.                 Endif
  185.                 KbdStuff STRING010
  186.                 End
  187.                 :LABEL001
  188.                 Goto LABEL003
  189.             Endif
  190.             STRING009 = ""
  191.             STRING010 = ""
  192.             STRING009 = Inkey()
  193.             While ((STRING009 <> "") && (STRING009 <> Chr(13))) Do
  194.                 STRING010 = STRING010 + STRING009
  195.                 STRING009 = Inkey()
  196.             EndWhile
  197.             If (STRING010 == "") Then
  198.                 FreshLine
  199.                 InputStr ReadLine(STRING011, 2) + "_", STRING010, 7, 12, Mask_Pwd(), 0 + 2
  200.                 If (STRING010 == "") Then
  201.                     KbdStuff Chr(13)
  202.                     End
  203.                     Goto LABEL002
  204.                 Endif
  205.                 Tokenize STRING010
  206.                 :LABEL002
  207.                 Goto LABEL003
  208.             Endif
  209.             Tokenize STRING010
  210.             :LABEL003
  211.             Goto LABEL004
  212.         Endif
  213.         Tokenize STRING009
  214.     Endif
  215.     :LABEL004
  216.     BOOLEAN015 = 1
  217.     STRING012 = ""
  218.     If (LangExt() <> "") Then
  219.         If (Exist(STRING011 + LangExt())) STRING011 = STRING011 + LangExt()
  220.     Endif
  221.     Goto LABEL008
  222.     INT006 = 1
  223.     :LABEL005
  224.     INT010 = GetX()
  225.     INT011 = GetY()
  226.     For INT007 = 1 To INT004
  227.         TINT008(INT007) = GetX()
  228.         TINT009(INT007) = GetY()
  229.         Print TSTRING013(INT007)
  230.         Print " "
  231.     Next
  232.     INT005 = INT006
  233.     Gosub LABEL007
  234.     Print STRING014, StripAtx(TSTRING013(INT005))
  235.     :LABEL006
  236.     STRING015 = Inkey()
  237.     Select Case (STRING015)
  238.         Case Chr(13)
  239.             DefColor
  240.             Return
  241.         Case "RIGHT", "DOWN", "."
  242.             Gosub LABEL007
  243.             Print TSTRING013(INT005)
  244.             If (INT005 == INT004) Then
  245.                 INT005 = 1
  246.             Else
  247.                 Inc INT005
  248.             Endif
  249.             Gosub LABEL007
  250.             Print STRING014, StripAtx(TSTRING013(INT005))
  251.         Case "LEFT", "UP", ","
  252.             Gosub LABEL007
  253.             Print TSTRING013(INT005)
  254.             If (INT005 == 1) Then
  255.                 INT005 = INT004
  256.             Else
  257.                 Dec INT005
  258.             Endif
  259.             Gosub LABEL007
  260.             Print STRING014, StripAtx(TSTRING013(INT005))
  261.         Case "END"
  262.             Gosub LABEL007
  263.             Print TSTRING013(INT005)
  264.             INT005 = INT004
  265.             Gosub LABEL007
  266.             Print STRING014, StripAtx(TSTRING013(INT005))
  267.         Case "HOME"
  268.             Gosub LABEL007
  269.             Print TSTRING013(INT005)
  270.             INT005 = 1
  271.             Gosub LABEL007
  272.             Print STRING014, StripAtx(TSTRING013(INT005))
  273.         Case "?"
  274.             If (STRING012 <> "") Then
  275.                 SaveScrn
  276.                 StartDisp 2
  277.                 DispFile STRING012, 1 + 4
  278.                 Wait
  279.                 RestScrn
  280.                 StartDisp 1
  281.             Endif
  282.         Case ""
  283.             For INT007 = 1 To INT004
  284.                 If (Upper(STRING015) == Left(Strip(StripAtx(TSTRING013(INT007)), " "), 1)) Then
  285.                     Gosub LABEL007
  286.                     Print TSTRING013(INT005)
  287.                     INT005 = INT007
  288.                     Gosub LABEL007
  289.                     Print STRING014, StripAtx(TSTRING013(INT005))
  290.                     KbdStuff Chr(13)
  291.                 Endif
  292.             Next
  293.     End Select
  294.     Goto LABEL006
  295.     :LABEL007
  296.     INT012 = GetX()
  297.     If (INT012 > TINT008(INT005)) Then
  298.         Backup INT012 - TINT008(INT005)
  299.     ElseIf (INT012 < TINT008(INT005)) Then
  300.         Forward TINT008(INT005) - INT012
  301.     Endif
  302.     Return
  303.     :LABEL008
  304.     STRING018 = PPEPath() + "view.cfg"
  305.     STRING020 = ReadLine(STRING018, 1)
  306.     If (Right(STRING020, 1) <> "\") STRING020 = STRING020 + "\"
  307.     STRING024 = ReadLine(STRING018, 2)
  308.     If (Right(STRING024, 1) <> "\") STRING024 = STRING024 + "\"
  309.     STRING021 = STRING024 + ReadLine(STRING018, 3) + String(PcbNode()) + ".zip"
  310.     STRING023 = Upper(ReadLine(STRING018, 3)) + String(PcbNode()) + ".ZIP"
  311.     StartDisp 1
  312.     GetUser
  313.     STRING024 = ReadLine(STRING018, 4)
  314.     INTEGER002 = ReadLine(STRING018, 7)
  315.     STRING008 = ReadLine(STRING018, 8)
  316.     If (Right(STRING024, 1) <> "\") STRING024 = STRING024 + "\"
  317.     STRING025 = STRING024 + "node" + String(PcbNode())
  318.     If (Exist(STRING025 + "\zipdir")) Goto LABEL009
  319.     PrintLn ReadLine(STRING011, 54)
  320.     Shell 1, STRING009, "mkdir", STRING025
  321.     Shell 1, STRING009, "mkdir", STRING025 + "\work"
  322.     FCreate 1, STRING025 + "\zipdir", 1, 0
  323.     FClose 1
  324.     If (Exist(STRING025 + "\zipdir")) Then
  325.         PrintLn "@X0CNodedir created"
  326.     Else
  327.         PrintLn ReadLine(STRING011, 55)
  328.         Wait
  329.         DefColor
  330.         Cls
  331.         End
  332.     Endif
  333.     :LABEL009
  334.     STRING017 = STRING025 + "\wildcard"
  335.     STRING026 = STRING025 + "\flagged"
  336.     STRING022 = STRING025 + "\flaglst"
  337.     BOOLEAN010 = 0
  338.     BOOLEAN011 = 0
  339.     BOOLEAN008 = 0
  340.     BOOLEAN009 = 0
  341.     Redim TSTRING027, INTEGER002
  342.     Redim TBOOLEAN018, INTEGER002
  343.     STRING028 = ReadLine(PCBDat(), 31) + ".@@@"
  344.     STRING003 = "@X08[PWA] @X07FileView @X0F2.00@X08@X07 (C) BlackCat 1995"
  345.     FreshLine
  346.     PrintLn STRING003
  347.     Newline
  348.     BOOLEAN017 = 0
  349.     If (Exist(STRING026)) Delete STRING026
  350.     STRING001 = GetToken()
  351.     STRING004 = GetToken()
  352.     Tokenize ReadLine(STRING018, 5)
  353.     If (GetToken() == "YES") Then
  354.         If (U_Expert) Then
  355.             BOOLEAN007 = 1
  356.         Else
  357.             BOOLEAN007 = 0
  358.         Endif
  359.     Else
  360.         BOOLEAN007 = 0
  361.     Endif
  362.     If (GetToken() == "YES") BOOLEAN012 = 1
  363.     If (GetToken() == "YES") BOOLEAN019 = 1
  364.     BOOLEAN017 = 0
  365.     If (STRING001 == "") Then
  366.         :LABEL010
  367.         BOOLEAN017 = 0
  368.         FClose -1
  369.         If (Exist(STRING026)) Delete STRING026
  370.         BOOLEAN011 = 0
  371.         STRING001 = ""
  372.         InputStr ReadLine(STRING011, 2) + "_", STRING001, 1, 12, Mask_File(), 8
  373.         FreshLine
  374.         If (STRING001 == "") Then
  375.             If (BOOLEAN014) Then
  376.                 StartDisp 2
  377.                 KbdStuff Chr(13)
  378.             Endif
  379.             Log "[BC] VIEW no file entered, quitting at " + String(Time()), 0
  380.             DefColor
  381.             Cls
  382.             End
  383.         Else
  384.             Log "[BC] VIEW started on " + STRING001 + " at " + String(Time()), 0
  385.         Endif
  386.     Else
  387.         Log "[BC] VIEW started on " + STRING001 + " at " + String(Time()), 0
  388.     Endif
  389.     INTEGER012 = InStr(STRING001, ".")
  390.     STRING034 = ""
  391.     BOOLEAN001 = 0
  392.     BOOLEAN002 = 0
  393.     BOOLEAN003 = 0
  394.     BOOLEAN011 = 0
  395.     If (INTEGER012) Goto LABEL011
  396.     If (Len(STRING001) > 8) Then
  397.         FreshLine
  398.         Log "[BC] VIEW file " + STRING001 + " too long", 0
  399.         PrintLn ReadLine(STRING011, 3)
  400.         Goto LABEL010
  401.     Endif
  402.     STRING034 = ""
  403.     Goto LABEL012
  404.     :LABEL011
  405.     For INTEGER008 = 1 To 3
  406.         STRING034 = STRING034 + Mid(STRING001, INTEGER012 + INTEGER008, 1)
  407.     Next
  408.     :LABEL012
  409.     Select Case (STRING034)
  410.         Case "ZIP"
  411.             BOOLEAN001 = 1
  412.             STRING007 = "dozip.exe"
  413.         Case "ARJ"
  414.             BOOLEAN002 = 1
  415.             STRING007 = "doarj.exe"
  416.         Case "LZH"
  417.             BOOLEAN003 = 1
  418.             STRING007 = "dolzh.exe"
  419.             FreshLine
  420.             Log "[BC] VIEW invalid extension on file " + STRING001, 0
  421.             PrintLn ReplaceStr(ReadLine(STRING011, 4), "@OPTEXT@", Upper(STRING034))
  422.             Print "@X07View this file direct (use only if textfile etc)? "
  423.             Gosub LABEL066
  424.             FreshLine
  425.         Case 1
  426.             BOOLEAN017 = 1
  427.             Log "[BC] VIEW file " + STRING001 + " viewed directly", 0
  428.             FreshLine
  429.         Case Else
  430.             Goto LABEL010
  431.     End Select
  432.     STRING002 = STRING001
  433.     FOpen 1, STRING028, 0, 0
  434.     If (Ferr(1)) Then
  435.         PrintLn "@X0CCouldn't open conference file!!"
  436.         Wait
  437.         If (BOOLEAN014) Then
  438.             StartDisp 2
  439.             KbdStuff Chr(13)
  440.         Endif
  441.         Log "[BC] VIEW ended, error opening conf file, at" + String(Time()), 0
  442.         End
  443.     Endif
  444.     STRING035 = PCBMac("@DIRNUM@")
  445.     INTEGER013 = ToInteger(PCBMac("@NUMDIR@"))
  446.     STRING001 = RTrim(STRING001, " ")
  447.     FRead 1, INT013, 2
  448.     If (STRING035 <> "") Then
  449.         If (ToInteger(STRING035) == INTEGER013) Then
  450.             Gosub LABEL077
  451.         Else
  452.             Gosub LABEL078
  453.         Endif
  454.         If (Exist(STRING036 + STRING001)) Goto LABEL013
  455.         FOpen 1, STRING028, 0, 0
  456.         Goto LABEL014
  457.         :LABEL013
  458.         FreshLine
  459.         STRING001 = STRING036 + "\" + STRING001
  460.         If (BOOLEAN017) Then
  461.             StartDisp 2
  462.             STRING016 = STRING001
  463.             Gosub LABEL055
  464.             StartDisp 1
  465.             FreshLine
  466.             Goto LABEL010
  467.         Endif
  468.     Else
  469.         :LABEL014
  470.         INTEGER011 = CurConf() * INT013 + 2 + 515
  471.         FSeek 1, INTEGER011, 0
  472.         FRead 1, STRING032, 33
  473.         FreshLine
  474.         FClose 1
  475.         FOpen 1, STRING032, 0, 0
  476.         FGet 1, STRING033
  477.         While (STRING033 <> "") Do
  478.             If (Exist(STRING033 + STRING001)) Then
  479.                 FreshLine
  480.                 PrintLn ReadLine(STRING011, 5)
  481.                 STRING001 = STRING033 + STRING001
  482.                 FClose 1
  483.                 If (BOOLEAN017) Then
  484.                     STRING016 = STRING001
  485.                     Gosub LABEL055
  486.                     StartDisp 1
  487.                     FreshLine
  488.                     Goto LABEL010
  489.                 Endif
  490.                 Goto LABEL015
  491.             Endif
  492.             FGet 1, STRING033
  493.             If (Ferr(1)) Break
  494.         EndWhile
  495.         FClose 1
  496.         FreshLine
  497.         PrintLn ReadLine(STRING011, 6)
  498.         Log "[BC] VIEW file not found in dlpath\directory", 0
  499.         Goto LABEL010
  500.     Endif
  501.     :LABEL015
  502.     FClose 1
  503.     If (!BOOLEAN001) Delete STRING025 + "\filelist"
  504.     Shell 0, STRING029, PPEPath() + STRING007, "ZIPSTART " + STRING020 + " " + STRING001 + " " + STRING025
  505.     If (STRING029 <> 0) Then
  506.         PrintLn ReadLine(STRING011, 7)
  507.         Wait
  508.         If (BOOLEAN014) Then
  509.             StartDisp 2
  510.             KbdStuff Chr(13)
  511.         Endif
  512.         Log "[BC] VIEW ended (startzip error) " + String(Time()), 0
  513.         End
  514.     Endif
  515.     Gosub LABEL028
  516.     If (Exist(STRING025 + "\flaguser")) Then
  517.         STRING009 = ReadLine(STRING025 + "\flaguser", 1)
  518.     Else
  519.         STRING009 = ""
  520.     Endif
  521.     If ((U_Name() <> STRING009) || !BOOLEAN019) Then
  522.         FClose -1
  523.         Delete STRING021
  524.         Delete STRING022
  525.         Delete STRING026
  526.         Delete STRING025 + "\flaguser"
  527.         FCreate 1, STRING025 + "\flaguser", 1, 3
  528.         FPutLn 1, U_Name()
  529.         FClose 1
  530.     Endif
  531.     :LABEL016
  532.     DefColor
  533.     If (!BOOLEAN007 || BOOLEAN013) Then
  534.         If (BOOLEAN013) BOOLEAN013 = 0
  535.         INTEGER010 = 1
  536.         FOpen 1, PPEPath() + "graph\menu", 0, 0
  537.         FGet 1, STRING009
  538.         :LABEL017
  539.         If (Ferr(1)) Goto LABEL018
  540.         STRING009 = ReplaceStr(STRING009, "@FILENAME@", STRING002)
  541.         STRING009 = ReplaceStr(STRING009, "@FLAGFILE@", STRING023)
  542.         PrintLn STRING009
  543.         FGet 1, STRING009
  544.         Goto LABEL017
  545.         :LABEL018
  546.         FClose 1
  547.     Endif
  548.     :LABEL019
  549.     STRING030 = ""
  550.     FreshLine
  551.     InputStr ReadLine(STRING011, 8) + "_", STRING030, 1, 7, Mask_Ascii(), 8
  552.     Tokenize STRING030
  553.     STRING030 = GetToken()
  554.     Select Case (STRING030)
  555.         Case "R"
  556.             FreshLine
  557.             BOOLEAN008 = 1
  558.             BOOLEAN009 = 0
  559.             FClose -1
  560.             Delete STRING017
  561.             INT001 = 0
  562.             Goto LABEL031
  563.             :LABEL020
  564.             BOOLEAN008 = 0
  565.             Goto LABEL016
  566.         Case "W"
  567.             STRING030 = ""
  568.             STRING030 = ReadLine(STRING018, 6)
  569.             FreshLine
  570.             If (TokCount() == 1) Then
  571.                 STRING030 = GetToken()
  572.             Else
  573.                 InputStr ReadLine(STRING011, 53), STRING030, 7, 12, Mask_File() + "*?", 8 + 2
  574.                 If (STRING030 == "") Goto LABEL016
  575.             Endif
  576.             FreshLine
  577.             PrintLn ReadLine(STRING011, 9)
  578.             FClose -1
  579.             If (!BOOLEAN001) Delete STRING025 + "\wildcard"
  580.             Shell 0, STRING029, PPEPath() + STRING007, "ZIPWILD " + STRING020 + " " + STRING001 + " " + STRING030 + " " + STRING025 + "\wildcard"
  581.             If (STRING029 <> 0) Then
  582.                 PrintLn ReadLine(STRING011, 10)
  583.                 Goto LABEL019
  584.             Endif
  585.             Gosub LABEL073
  586.             Goto LABEL016
  587.         Case "Q"
  588.             FClose -1
  589.             FreshLine
  590.             PrintLn STRING003
  591.             If (BOOLEAN014) Then
  592.                 StartDisp 2
  593.                 KbdStuff Chr(13)
  594.             Endif
  595.             Log "[BC] VIEW ended " + String(Time()), 0
  596.             End
  597.         Case "L"
  598.             Gosub LABEL028
  599.             StartDisp 1
  600.         Case "X"
  601.             FreshLine
  602.             If (BOOLEAN007) Goto LABEL021
  603.             PrintLn ReadLine(STRING011, 11)
  604.             BOOLEAN007 = 1
  605.             Goto LABEL022
  606.             :LABEL021
  607.             PrintLn ReadLine(STRING011, 12)
  608.             BOOLEAN007 = 0
  609.             :LABEL022
  610.         Case ""
  611.             Goto LABEL019
  612.         Case "H"
  613.             StartDisp 2
  614.             FOpen 1, PPEPath() + "graph\fvhlp", 0, 0
  615.             FDefIn 1
  616.             FDGet STRING009
  617.             :LABEL023
  618.             If (Ferr(1)) Goto LABEL024
  619.             STRING009 = ReplaceStr(STRING009, "@FILENAME@", STRING002)
  620.             STRING009 = ReplaceStr(STRING009, "@FLAGFILE@", STRING023)
  621.             PrintLn STRING009
  622.             If (Abort()) Goto LABEL024
  623.             FDGet STRING009
  624.             Goto LABEL023
  625.             :LABEL024
  626.             FClose 1
  627.             ResetDisp
  628.             StartDisp 1
  629.             Wait
  630.         Case "?"
  631.             BOOLEAN013 = 1
  632.             Goto LABEL016
  633.         Case "F"
  634.             BOOLEAN009 = 1
  635.             BOOLEAN008 = 0
  636.             INT001 = 0
  637.             Goto LABEL031
  638.             :LABEL025
  639.             BOOLEAN009 = 0
  640.         Case "E"
  641.             FreshLine
  642.             If (BOOLEAN003) Then
  643.                 PrintLn "@X0CExtra command not available for LZH compression"
  644.                 Wait
  645.                 Goto LABEL016
  646.             Endif
  647.             PrintLn ReadLine(STRING011, 13)
  648.             Shell 0, STRING029, PPEPath() + STRING007, "ZIPEX " + STRING020 + " " + STRING001 + " " + STRING025 + "\extra"
  649.             If (STRING029 <> 0) Then
  650.                 PrintLn ReadLine(STRING011, 14)
  651.                 Goto LABEL019
  652.             Endif
  653.             STRING016 = STRING025 + "\extra"
  654.             Gosub LABEL055
  655.             Goto LABEL016
  656.         Case "S"
  657.             FClose -1
  658.             Newline
  659.             BOOLEAN010 = 1
  660.             Goto LABEL010
  661.         Case "D"
  662.             FreshLine
  663.             Newline
  664.             If (Exist(STRING021)) Goto LABEL026
  665.             PrintLn ReadLine(STRING011, 15)
  666.             Newline
  667.             Goto LABEL019
  668.             Goto LABEL027
  669.             :LABEL026
  670.             STRING030 = Upper(YesChar())
  671.             Print ReadLine(STRING011, 16)
  672.             Gosub LABEL066
  673.             FreshLine
  674.             If (INT005 == 1) Then
  675.                 PrintLn ReadLine(STRING011, 17)
  676.                 FClose -1
  677.                 Delete STRING021
  678.                 Delete STRING022
  679.                 Delete STRING026
  680.                 Redim TBOOLEAN018, INTEGER002
  681.             Endif
  682.             :LABEL027
  683.         Case "P"
  684.             FreshLine
  685.             Newline
  686.             DispFile PPEPath() + "graph\info", 0
  687.             FreshLine
  688.             Wait
  689.             Newline
  690.             Goto LABEL016
  691.         Case "I"
  692.             FClose -1
  693.             Newline
  694.             Newline
  695.             If (Exist(STRING022)) Then
  696.                 StartDisp 2
  697.                 FreshLine
  698.                 DispFile STRING022, 1 + 4
  699.                 Wait
  700.                 StartDisp 1
  701.             Else
  702.                 PrintLn ReadLine(STRING011, 18)
  703.                 Newline
  704.                 Goto LABEL019
  705.             Endif
  706.         Case "B"
  707.             FClose -1
  708.             StartDisp 2
  709.             FreshLine
  710.             STRING016 = STRING025 + "\filelist"
  711.             Gosub LABEL055
  712.             StartDisp 1
  713.         Case "FLAG"
  714.             Flag STRING001
  715.             FreshLine
  716.             Newline
  717.             PrintLn ReplaceStr(ReadLine(STRING011, 19), "@OPTEXT@", STRING002)
  718.             Newline
  719.             Goto LABEL019
  720.         Case Else
  721.             FreshLine
  722.             Newline
  723.             PrintLn ReadLine(STRING011, 20)
  724.             Newline
  725.             Goto LABEL019
  726.     End Select
  727.     Goto LABEL016
  728.     Return
  729.     :LABEL028
  730.     DefColor
  731.     Cls
  732.     BOOLEAN006 = 0
  733.     If (BOOLEAN001) Then
  734.         STRING009 = " LENGTH"
  735.         STRING010 = "  FILEN"
  736.         FOpen 1, "pcbview.txt", 0, 0
  737.     ElseIf (BOOLEAN002) Then
  738.         STRING009 = "FILENAM"
  739.         STRING010 = "FILENAM"
  740.         FOpen 1, STRING025 + "\zipdir", 0, 0
  741.     ElseIf (BOOLEAN003) Then
  742.         STRING009 = "  NAME "
  743.         STRING009 = "  NAME "
  744.         FOpen 1, STRING025 + "\zipdir", 0, 0
  745.     Endif
  746.     StartDisp 2
  747.     While (1) Do
  748.         FGet 1, STRING033
  749.         If (Ferr(1)) Break
  750.         If ((Upper(Left(STRING033, 7)) == STRING009) || (Upper(Left(STRING033, 7)) == STRING010)) Then
  751.             BOOLEAN006 = 1
  752.             FGet 1, STRING009
  753.             If ((Left(STRING009, 2) == " -") || (Left(STRING009, 2) == "--")) Then
  754.                 PrintLn ReadLine(STRING011, 21), STRING033
  755.                 PrintLn ReadLine(STRING011, 22)
  756.                 Goto LABEL029
  757.             Endif
  758.             Continue
  759.             :LABEL029
  760.             Break
  761.         Endif
  762.     EndWhile
  763.     If (BOOLEAN006) Goto LABEL030
  764.     FClose 1
  765.     FreshLine
  766.     PrintLn ReadLine(STRING011, 23)
  767.     Wait
  768.     If (BOOLEAN014) Then
  769.         StartDisp 2
  770.         KbdStuff Chr(13)
  771.     Endif
  772.     Log "[BC] VIEW ended, wrong zipdir format " + String(Time()), 0
  773.     End
  774.     :LABEL030
  775.     STRING005 = ReadLine(STRING011, 24)
  776.     While (1) Do
  777.         FGet 1, STRING033
  778.         If (Ferr(1)) Break
  779.         If ((Upper(Left(STRING033, 2)) == "--") || (Upper(Left(STRING033, 7)) == "       ")) Then
  780.             PrintLn ReadLine(STRING011, 22)
  781.             FGet 1, STRING033
  782.             PrintLn ReadLine(STRING011, 21), STRING033
  783.             Break
  784.         Endif
  785.         PrintLn STRING005, STRING033
  786.         If (Abort()) Break
  787.     EndWhile
  788.     ResetDisp
  789.     FClose 1
  790.     Wait
  791.     Newline
  792.     StartDisp 1
  793.     Return
  794.     :LABEL031
  795.     BOOLEAN020 = 1
  796.     BOOLEAN021 = 0
  797.     Goto LABEL047
  798.     :LABEL032
  799.     INT016 = 0
  800.     INT015 = INTEGER007
  801.     INTEGER024 = INTEGER006
  802.     INTEGER020 = INTEGER007 * 5
  803.     INTEGER025 = INTEGER003
  804.     INTEGER026 = INTEGER004
  805.     BOOLEAN021 = 1
  806.     INTEGER018 = 1
  807.     StartDisp 1
  808.     INTEGER018 = 1
  809.     :LABEL033
  810.     INTEGER019 = INTEGER024
  811.     DefColor
  812.     AnsiPos INTEGER025, INTEGER026
  813.     If (INTEGER020 >= INTEGER024) Then
  814.         INTEGER020 = INTEGER024
  815.     Endif
  816.     If (INTEGER018 + INTEGER020 <= INTEGER019) INTEGER021 = INTEGER018 + INTEGER020 - 1
  817.     If (INTEGER018 + INTEGER020 > INTEGER019) INTEGER021 = INTEGER019
  818.     INTEGER023 = INTEGER018
  819.     INTEGER022 = INTEGER021
  820.     DefColor
  821.     If (!BOOLEAN020 || BOOLEAN005) Then
  822.         INT016 = 0
  823.         For INTEGER008 = INTEGER023 To INTEGER022
  824.             INTEGER009 = INTEGER008 % INTEGER007
  825.             If (INT016 <= 4) Then
  826.                 If (INTEGER009 == 0) INTEGER009 = INTEGER007
  827.                 AnsiPos INTEGER003 + INT016 * 16, INTEGER004 + INTEGER009 - 1
  828.                 STRING006 = TSTRING027(INTEGER008)
  829.                 Gosub LABEL082
  830.                 If (TBOOLEAN018(INTEGER008)) Then
  831.                     Backup 1
  832.                     Print STRING019
  833.                     Goto LABEL034
  834.                 Endif
  835.                 Backup 1
  836.                 Print " "
  837.                 :LABEL034
  838.                 Print STRING039, Left(STRING006, 12)
  839.                 If ((INTEGER009 == INTEGER007) && (INTEGER008 < INTEGER022)) Inc INT016
  840.                 Continue
  841.             Endif
  842.             Break
  843.         Next
  844.         If (INT016 <= 4) Then
  845.             INTEGER027 = INT016
  846.             Goto LABEL035
  847.         Endif
  848.         INTEGER027 = 4
  849.         :LABEL035
  850.         INT016 = 0
  851.         INTEGER028 = INTEGER027
  852.         If (INTEGER022 % INTEGER020 <> 0) Then
  853.             For INTEGER008 = INTEGER022 % INTEGER020 + 1 To INTEGER020
  854.                 INTEGER009 = INTEGER008 % INTEGER007
  855.                 If (INTEGER028 <= 4) Then
  856.                     If (INTEGER009 == 0) Then
  857.                         INTEGER009 = INTEGER007
  858.                     Endif
  859.                     AnsiPos INTEGER003 + INTEGER028 * 16, INTEGER004 + INTEGER009 - 1
  860.                     Print STRING039, Space(12)
  861.                     If (INTEGER009 == INTEGER007) Inc INTEGER028
  862.                     Continue
  863.                 Endif
  864.                 Break
  865.             Next
  866.         Endif
  867.     Endif
  868.     BOOLEAN020 = 0
  869.     INTEGER015 = INTEGER018
  870.     Gosub LABEL041
  871.     AnsiPos INTEGER016, INTEGER017
  872.     STRING006 = TSTRING027(INTEGER018)
  873.     Gosub LABEL082
  874.     If (TBOOLEAN018(INTEGER018)) Then
  875.         Backup 1
  876.         Print STRING019
  877.     Endif
  878.     Print STRING037, Left(StripAtx(STRING006), 12)
  879.     :LABEL036
  880.     STRING030 = Inkey()
  881.     Select Case (STRING030)
  882.         Case "UP", ","
  883.             Gosub LABEL042
  884.             If (INTEGER018 % INTEGER007 == 1) Then
  885.                 If (INT016 == 0) Then
  886.                     INT016 = INTEGER027
  887.                     INTEGER018 = INTEGER022
  888.                 Else
  889.                     Dec INT016
  890.                     Dec INTEGER018
  891.                 Endif
  892.             Else
  893.                 If (INTEGER018 > 1) Dec INTEGER018
  894.             Endif
  895.             Gosub LABEL043
  896.             Goto LABEL036
  897.         Case "DOWN", "."
  898.             Gosub LABEL042
  899.             If ((INTEGER018 % INTEGER007 == 0) || (INTEGER018 == INTEGER022)) Then
  900.                 If (INT016 == INTEGER027) Then
  901.                     INTEGER018 = INTEGER023
  902.                     INT016 = 0
  903.                 Else
  904.                     Inc INTEGER018
  905.                     Inc INT016
  906.                 Endif
  907.             Else
  908.                 Inc INTEGER018
  909.             Endif
  910.             Gosub LABEL043
  911.             Goto LABEL036
  912.         Case "RIGHT"
  913.             Gosub LABEL042
  914.             If (INT016 == INTEGER027) Then
  915.                 INT016 = 0
  916.                 INTEGER001 = INTEGER018 % INTEGER007
  917.                 If (INTEGER001 == 0) INTEGER001 = INTEGER007
  918.                 INTEGER018 = INTEGER023 - 1 + INTEGER001
  919.                 If (INTEGER018 == 0) INTEGER018 = INTEGER007
  920.             Else
  921.                 Inc INT016
  922.                 INTEGER018 = INTEGER018 + INTEGER007
  923.                 If (INTEGER018 > INTEGER019) Then
  924.                     INTEGER018 = INTEGER019
  925.                 Endif
  926.             Endif
  927.             Gosub LABEL043
  928.             Goto LABEL036
  929.         Case "LEFT"
  930.             Gosub LABEL042
  931.             If (INT016 == 0) Then
  932.                 If (INTEGER027 > 0) Then
  933.                     INT016 = INTEGER027
  934.                     INTEGER018 = INTEGER007 * INTEGER027 + INTEGER018
  935.                     If (INTEGER018 > INTEGER019) Then
  936.                         INTEGER018 = INTEGER019
  937.                     Endif
  938.                 Else
  939.                     INTEGER018 = INTEGER023
  940.                 Endif
  941.             Else
  942.                 Dec INT016
  943.                 INTEGER018 = INTEGER018 - INTEGER007
  944.             Endif
  945.             Gosub LABEL043
  946.             Goto LABEL036
  947.         Case "?"
  948.             DefColor
  949.             Gosub LABEL044
  950.             Goto LABEL036
  951.         Case " "
  952.             If (TBOOLEAN018(INTEGER018)) Then
  953.                 TBOOLEAN018(INTEGER018) = 0
  954.                 Backup 13
  955.                 Print STRING039, " "
  956.                 Dec INT001
  957.             Else
  958.                 TBOOLEAN018(INTEGER018) = 1
  959.                 Backup 13
  960.                 Print STRING019
  961.                 Inc INT001
  962.             Endif
  963.             KbdStuff "."
  964.             Goto LABEL036
  965.         Case "V"
  966.             If (INT001 > 0) Then
  967.                 BOOLEAN015 = 0
  968.             Else
  969.                 Goto LABEL036
  970.                 If (STRING030 == "HOME") Then
  971.                     Gosub LABEL042
  972.                     INT016 = 0
  973.                     INTEGER018 = INTEGER023
  974.                     Gosub LABEL043
  975.                     Goto LABEL036
  976.                     Goto LABEL040
  977.                 Endif
  978.                 If (STRING030 == "END") Then
  979.                     Gosub LABEL042
  980.                     INTEGER018 = INTEGER022
  981.                     INT016 = INTEGER027
  982.                     Gosub LABEL043
  983.                     Goto LABEL036
  984.                     Goto LABEL040
  985.                 Endif
  986.                 If (STRING030 == Chr(13)) Then
  987.                     If (BOOLEAN009) Then
  988.                         KbdStuff " "
  989.                         Goto LABEL036
  990.                     Endif
  991.                     INTEGER008 = INTEGER018
  992.                     INTEGER016 = GetX()
  993.                     INTEGER017 = GetY()
  994.                     INTEGER014 = INTEGER018
  995.                     :LABEL037
  996.                     If (BOOLEAN008) BOOLEAN015 = 1
  997.                 Endif
  998.                 If (!BOOLEAN015 && (INT001 > 0)) Then
  999.                     Gosub LABEL050
  1000.                     BOOLEAN015 = 1
  1001.                     INTEGER018 = INTEGER023
  1002.                     DispFile STRING040, 0
  1003.                     INT016 = 0
  1004.                     Goto LABEL033
  1005.                     Goto LABEL038
  1006.                 Endif
  1007.                 Gosub LABEL050
  1008.                 :LABEL038
  1009.                 If (BOOLEAN009) Then
  1010.                     KbdStuff " "
  1011.                     Goto LABEL036
  1012.                 Endif
  1013.                 AnsiPos INTEGER016, INTEGER017
  1014.                 If (BOOLEAN008) Then
  1015.                     RestScrn
  1016.                     AnsiPos INTEGER016, INTEGER017
  1017.                     If (BOOLEAN004) Then
  1018.                         BOOLEAN004 = 0
  1019.                         Goto LABEL039
  1020.                     Endif
  1021.                     KbdStuff "."
  1022.                 Endif
  1023.                 :LABEL039
  1024.                 Goto LABEL036
  1025.                 Goto LABEL040
  1026.             Endif
  1027.         Case ">", "PGDN", "]"
  1028.             If (INTEGER022 + INTEGER020 <= INTEGER019) Then
  1029.                 INTEGER018 = INTEGER022 + 1
  1030.                 INT016 = 0
  1031.                 Goto LABEL033
  1032.             Else
  1033.                 If (INTEGER022 <> INTEGER019) Then
  1034.                     INTEGER018 = INTEGER022 + 1
  1035.                     INT016 = 0
  1036.                     Goto LABEL033
  1037.                 Endif
  1038.                 Print "@BEEP@"
  1039.                 Goto LABEL036
  1040.             Endif
  1041.         Case "<", "PGUP", "["
  1042.             If (INTEGER023 - INTEGER020 >= 1) Then
  1043.                 INTEGER018 = INTEGER023 - INTEGER020
  1044.                 INT016 = 0
  1045.                 Goto LABEL033
  1046.             Else
  1047.                 Print "@BEEP@"
  1048.                 Goto LABEL036
  1049.             Endif
  1050.         Case "X"
  1051.             If (BOOLEAN009) Then
  1052.                 DefColor
  1053.                 Cls
  1054.                 If (Exist(STRING026)) Delete STRING026
  1055.                 Goto LABEL025
  1056.             Endif
  1057.             Goto LABEL036
  1058.         Case Chr(27), "Q"
  1059.             If (BOOLEAN016) BOOLEAN016 = 0
  1060.             If (BOOLEAN008) Then
  1061.                 DefColor
  1062.                 If (BOOLEAN021) Then
  1063.                     DefColor
  1064.                     Cls
  1065.                 Endif
  1066.                 Goto LABEL020
  1067.             Endif
  1068.             If (BOOLEAN009) Then
  1069.                 DefColor
  1070.                 Cls
  1071.                 If (INT001 > 0) Then
  1072.                     PrintLn ReadLine(STRING011, 25)
  1073.                     FCreate 1, STRING026, 1, 0
  1074.                     For INTEGER008 = 1 To INTEGER006
  1075.                         If (TBOOLEAN018(INTEGER008)) Then
  1076.                             FPutLn 1, TSTRING027(INTEGER008)
  1077.                         Endif
  1078.                     Next
  1079.                     FClose 1
  1080.                     Shell 0, STRING029, PPEPath() + STRING007, "ZIPFLAG " + STRING020 + " " + STRING001 + " " + STRING026 + " " + STRING025 + "\WORK" + " " + STRING021
  1081.                     If (STRING029 <> 0) Then
  1082.                         PrintLn ReadLine(STRING011, 26)
  1083.                         Wait
  1084.                         Goto LABEL025
  1085.                     Endif
  1086.                     FAppend 2, STRING022, 1, 0
  1087.                     INT017 = 1
  1088.                     STRING009 = ReadLine(STRING026, INT017)
  1089.                     STRING010 = ReadLine(STRING011, 52)
  1090.                     While (STRING009 <> "") Do
  1091.                         FPutLn 2, ReplaceStr(ReplaceStr(STRING010, "%FILE%", STRING009), "%FROM%", STRING002)
  1092.                         Inc INT017
  1093.                         STRING009 = ReadLine(STRING026, INT017)
  1094.                     EndWhile
  1095.                     FClose 2
  1096.                     FClose -1
  1097.                     Flag STRING021
  1098.                     If (Exist(STRING026)) Delete STRING026
  1099.                 Endif
  1100.                 Goto LABEL025
  1101.             Endif
  1102.         Case Asc("5"), Asc("1"), 1
  1103.             If ((ToInteger(STRING030) <= INTEGER027 + 1) && (ToInteger(STRING030) >= 1)) Then
  1104.                 Gosub LABEL042
  1105.                 INT016 = ToInteger(STRING030) - 1
  1106.                 INTEGER001 = INTEGER018 % INTEGER007
  1107.                 If (INTEGER001 == 0) INTEGER001 = INTEGER007
  1108.                 INTEGER018 = INTEGER023 + INTEGER007 * INT016 + INTEGER001 - 1
  1109.                 If (INTEGER018 > INTEGER022) INTEGER018 = INTEGER022
  1110.                 Gosub LABEL043
  1111.             Endif
  1112.             Goto LABEL036
  1113.         Case Asc("Q"), Asc("A"), 1
  1114.             INTEGER029 = INTEGER023 + INT016 * INTEGER007
  1115.             If (INTEGER029 + Asc(Upper(STRING030)) - Asc("A") > INTEGER022) Goto LABEL036
  1116.             Gosub LABEL042
  1117.             INTEGER018 = INTEGER029 + Asc(Upper(STRING030)) - Asc("A")
  1118.             INTEGER014 = INTEGER018
  1119.             INTEGER008 = INTEGER018
  1120.             INTEGER016 = GetX()
  1121.             INTEGER017 = GetY()
  1122.             BOOLEAN004 = 1
  1123.             Gosub LABEL043
  1124.             Gosub LABEL037
  1125.         Case Else
  1126.             If ((STRING030 == "") || (Len(STRING030) > 1)) Goto LABEL036
  1127.             Goto LABEL036
  1128.     End Select
  1129.     :LABEL040
  1130.     End
  1131.     :LABEL041
  1132.     INT014 = INTEGER015 % INTEGER020
  1133.     If (INT014 == 0) INT014 = INTEGER020
  1134.     INTEGER016 = INTEGER025
  1135.     INTEGER017 = INTEGER026 + INT014 - 1
  1136.     Return
  1137.     :LABEL042
  1138.     INT014 = INTEGER018 % INTEGER007
  1139.     If (INT014 == 0) INT014 = INTEGER007
  1140.     INTEGER016 = INTEGER025 + 16 * INT016
  1141.     INTEGER017 = INTEGER026 + INT014 - 1
  1142.     AnsiPos INTEGER016, INTEGER017
  1143.     STRING006 = TSTRING027(INTEGER018)
  1144.     Gosub LABEL082
  1145.     AnsiPos INTEGER016, INTEGER017
  1146.     Print STRING039, Left(STRING006, 12)
  1147.     Return
  1148.     :LABEL043
  1149.     INT014 = INTEGER018 % INTEGER007
  1150.     If (INT014 == 0) INT014 = INTEGER007
  1151.     INTEGER016 = INTEGER025 + INT016 * 16
  1152.     INTEGER017 = INTEGER026 + INT014 - 1
  1153.     AnsiPos INTEGER016, INTEGER017
  1154.     STRING006 = TSTRING027(INTEGER018)
  1155.     Gosub LABEL082
  1156.     Print STRING037, Left(StripAtx(STRING006), 12)
  1157.     Return
  1158.     :LABEL044
  1159.     AnsiPos 1, 23
  1160.     SaveScrn
  1161.     StartDisp 2
  1162.     Cls
  1163.     If (BOOLEAN009) Then
  1164.         STRING009 = PPEPath() + "graph\flaghlp"
  1165.     Else
  1166.         STRING009 = PPEPath() + "graph\viewhlp"
  1167.     Endif
  1168.     FOpen 1, STRING009, 0, 0
  1169.     FDefIn 1
  1170.     FDGet STRING009
  1171.     :LABEL045
  1172.     If (Ferr(1)) Goto LABEL046
  1173.     STRING009 = ReplaceStr(STRING009, "@FILENAME@", STRING002)
  1174.     STRING009 = ReplaceStr(STRING009, "@FLAGFILE@", STRING023)
  1175.     PrintLn STRING009
  1176.     If (Abort()) Goto LABEL046
  1177.     FDGet STRING009
  1178.     Goto LABEL045
  1179.     :LABEL046
  1180.     FClose 1
  1181.     ResetDisp
  1182.     Wait
  1183.     StartDisp 1
  1184.     RestScrn
  1185.     AnsiPos INTEGER016, INTEGER017
  1186.     Return
  1187.     :LABEL047
  1188.     DefColor
  1189.     Cls
  1190.     FreshLine
  1191.     PrintLn ReadLine(STRING011, 27)
  1192.     FreshLine
  1193.     StartDisp 1
  1194.     If (BOOLEAN008) Then
  1195.         STRING040 = PPEPath() + "graph\view"
  1196.         DispFile STRING040, 0
  1197.     ElseIf (BOOLEAN009) Then
  1198.         STRING040 = PPEPath() + "graph\flag"
  1199.         DispFile STRING040, 0
  1200.     Endif
  1201.     Tokenize ReadLine(PPEPath() + "lb.cfg", 1)
  1202.     INT016 = 0
  1203.     BOOLEAN005 = 0
  1204.     If (BOOLEAN011) Then
  1205.         BOOLEAN005 = 1
  1206.         Redim TBOOLEAN018, INTEGER002
  1207.     Else
  1208.         INTEGER003 = GetToken()
  1209.         INTEGER004 = GetToken()
  1210.         INTEGER007 = GetToken()
  1211.         INTEGER031 = INTEGER007 * 5
  1212.         STRING037 = GetToken()
  1213.         STRING039 = GetToken()
  1214.         STRING019 = GetToken()
  1215.         If (BOOLEAN002) Then
  1216.             INTEGER005 = 3
  1217.             INTEGER030 = 1
  1218.         Else
  1219.             INTEGER005 = 1
  1220.             INTEGER030 = 1
  1221.         Endif
  1222.         AnsiPos INTEGER003, INTEGER004
  1223.         FOpen 1, STRING025 + "\filelist", 0, 0
  1224.         FDefIn 1
  1225.         If (BOOLEAN002) Then
  1226.             FDGet STRING038
  1227.             FDGet STRING038
  1228.         Endif
  1229.         :LABEL048
  1230.         FDGet STRING038
  1231.         If (Right(STRING038, 1) == "/") Then
  1232.             Inc INTEGER005
  1233.             Goto LABEL048
  1234.         Endif
  1235.         For INTEGER008 = 1 To INTEGER002
  1236.             TSTRING027(INTEGER030) = ReplaceStr(STRING038, "/", "\")
  1237.             INTEGER009 = INTEGER008 % INTEGER007
  1238.             If (INT016 <= 4) Then
  1239.                 If (INTEGER009 == 0) INTEGER009 = INTEGER007
  1240.                 AnsiPos INTEGER003 + INT016 * 16, INTEGER004 + INTEGER009 - 1
  1241.                 STRING006 = TSTRING027(INTEGER008)
  1242.                 Gosub LABEL082
  1243.                 If (TBOOLEAN018(INTEGER008)) Then
  1244.                     Backup 1
  1245.                     Print STRING019, STRING039
  1246.                 Endif
  1247.                 Print STRING006
  1248.                 If (INTEGER009 == INTEGER007) Inc INT016
  1249.             Endif
  1250.             Inc INTEGER030
  1251.             :LABEL049
  1252.             FDGet STRING038
  1253.             If (Ferr(1)) Then
  1254.                 If (INTEGER009 == INTEGER007) Dec INT016
  1255.                 Break
  1256.             Endif
  1257.             If (Right(STRING038, 1) == "/") Goto LABEL049
  1258.         Next
  1259.         If (INT016 <= 4) Then
  1260.             INTEGER027 = INT016
  1261.         Else
  1262.             INTEGER027 = 4
  1263.         Endif
  1264.         FClose 1
  1265.         Redim TBOOLEAN018, INTEGER002
  1266.         BOOLEAN011 = 1
  1267.         INTEGER006 = INTEGER030 - 1
  1268.     Endif
  1269.     Goto LABEL032
  1270.     :LABEL050
  1271.     If (BOOLEAN008) Then
  1272.         AnsiPos 1, 23
  1273.         If (BOOLEAN015) SaveScrn
  1274.         If (BOOLEAN015) Goto LABEL051
  1275.         DefColor
  1276.         Cls
  1277.         FClose -1
  1278.         FCreate 1, STRING017, 1, 0
  1279.         For INTEGER008 = 1 To INTEGER006
  1280.             If (TBOOLEAN018(INTEGER008)) Then
  1281.                 FPutLn 1, TSTRING027(INTEGER008)
  1282.             Endif
  1283.         Next
  1284.         FClose 1
  1285.         Gosub LABEL073
  1286.         FClose -1
  1287.         Delete STRING017
  1288.         Return
  1289.         :LABEL051
  1290.         STRING031 = TSTRING027(INTEGER014)
  1291.         If (STRING031 == "") Goto LABEL016
  1292.         DefColor
  1293.         Cls
  1294.         STRING031 = Replace(STRING031, "/", "\")
  1295.         If (InStr(STRING031, STRING019)) STRING031 = ReplaceStr(STRING031, STRING019, "")
  1296.         PrintLn ReadLine(STRING011, 28)
  1297.         If (OnLocal()) SaveScrn
  1298.         If (BOOLEAN001) Then
  1299.             FCreate 1, STRING025 + "\zl", 1, 0
  1300.             FPutLn 1, STRING031
  1301.             FClose 1
  1302.             Shell 0, STRING029, PPEPath() + STRING007, "ZIPVIEW " + STRING020 + " " + STRING001 + " " + STRING025 + "\zl" + " " + STRING025 + "\work"
  1303.         Else
  1304.             Shell 0, STRING029, PPEPath() + STRING007, "ZIPVIEW " + STRING020 + " " + STRING001 + " " + STRING031 + " " + STRING025 + "\work"
  1305.         Endif
  1306.         If (OnLocal()) RestScrn
  1307.         Gosub LABEL053
  1308.         If (BOOLEAN006) Goto LABEL052
  1309.         PrintLn ReadLine(STRING011, 29)
  1310.         Wait
  1311.         Return
  1312.         :LABEL052
  1313.         STRING016 = STRING025 + "\work\" + STRING031
  1314.         FClose -1
  1315.         FAppend 1, STRING025 + "\work\" + STRING031, 1, 0
  1316.         FPutLn 1, ""
  1317.         FClose 1
  1318.         StartDisp 2
  1319.         DefColor
  1320.         Cls
  1321.         Gosub LABEL055
  1322.         FClose -1
  1323.         Delete STRING025 + "\work\" + STRING031
  1324.         StartDisp 1
  1325.     Else
  1326.         PrintLn "ERROR, IN FEEDBACK WHEN FLAGGING!"
  1327.         Wait
  1328.     Endif
  1329.     Return
  1330.     :LABEL053
  1331.     BOOLEAN006 = 0
  1332.     STRING009 = ""
  1333.     For INT018 = Len(STRING031) To 1 Step -1
  1334.         STRING041 = Mid(STRING031, INT018, 1)
  1335.         If ((STRING041 == "\") || (STRING041 == "/")) Then
  1336.             If (STRING009 == "") Then
  1337.                 Return
  1338.                 Goto LABEL054
  1339.             Endif
  1340.             Break
  1341.             :LABEL054
  1342.             Continue
  1343.         Endif
  1344.         STRING009 = STRING009 + STRING041
  1345.     Next
  1346.     BOOLEAN006 = 1
  1347.     STRING010 = ""
  1348.     For INT018 = Len(STRING009) To 1 Step -1
  1349.         STRING010 = STRING010 + Mid(STRING009, INT018, 1)
  1350.     Next
  1351.     STRING031 = STRING010
  1352.     Return
  1353.     :LABEL055
  1354.     STRING042 = ReadLine(STRING011, 32)
  1355.     STRING043 = ReadLine(STRING011, 33)
  1356.     TSTRING013(1) = ReadLine(STRING011, 34)
  1357.     TSTRING013(2) = ReadLine(STRING011, 35)
  1358.     TSTRING013(3) = ReadLine(STRING011, 36)
  1359.     TSTRING013(4) = "@X07Find"
  1360.     TSTRING013(5) = "@X07Top"
  1361.     TSTRING013(6) = "@X07End"
  1362.     TSTRING013(7) = "@X07<<"
  1363.     TSTRING013(8) = "@X07>>"
  1364.     TSTRING013(9) = ReadLine(STRING011, 37)
  1365.     STRING014 = ReadLine(STRING011, 38)
  1366.     DefColor
  1367.     INT006 = 1
  1368.     INTEGER033 = 0
  1369.     BOOLEAN024 = 0
  1370.     INTEGER032 = 1
  1371.     BOOLEAN023 = 1
  1372.     BOOLEAN022 = 0
  1373.     INTEGER034 = FileInf(STRING016, 4)
  1374.     REAL001 = ToReal(INTEGER034) / 100
  1375.     FOpen 1, STRING016, 0, 0
  1376.     FDefIn 1
  1377.     StartDisp 1
  1378.     :LABEL056
  1379.     INTEGER035 = INTEGER033
  1380.     If (BOOLEAN012) Then
  1381.         DefColor
  1382.         Cls
  1383.     Endif
  1384.     BOOLEAN025 = 1
  1385.     FreshLine
  1386.     If (BOOLEAN024) Then
  1387.         SearchInit STRING044, 0
  1388.         SearchFind STRING044, STRING029
  1389.     Endif
  1390.     For INTEGER008 = 0 To U_PageLen - 2
  1391.         FDGet BIGSTR001
  1392.         If (Ferr(1)) Then
  1393.             BOOLEAN022 = 1
  1394.             Break
  1395.         Endif
  1396.         INTEGER033 = INTEGER033 + Len(BIGSTR001) + 2
  1397.         If (BOOLEAN024) Then
  1398.             PrFound STRING008, BIGSTR001
  1399.             If (BIGSTR001 == "") Newline
  1400.             FreshLine
  1401.             Continue
  1402.         Endif
  1403.         Print STRING008, BIGSTR001
  1404.         If (BIGSTR001 == "") Newline
  1405.         FreshLine
  1406.     Next
  1407.     If (BOOLEAN024) BOOLEAN024 = 0
  1408.     FreshLine
  1409.     :LABEL057
  1410.     DefColor
  1411.     FreshLine
  1412.     ClrEol
  1413.     If (BOOLEAN022) Print STRING042
  1414.     Print ReplaceStr(STRING043, "%PCT%", String(FmtReal(INTEGER033 / REAL001, 3, 0)))
  1415.     Gosub LABEL065
  1416.     Backup 80
  1417.     ClrEol
  1418.     Select Case (INT005)
  1419.         Case 1
  1420.             INT006 = 1
  1421.             If (BOOLEAN022) Goto LABEL058
  1422.             If (BOOLEAN023) BOOLEAN023 = 0
  1423.             Goto LABEL056
  1424.             Goto LABEL059
  1425.             :LABEL058
  1426.             FClose -1
  1427.             FClose 1
  1428.             Return
  1429.             :LABEL059
  1430.         Case 2
  1431.             INT006 = 2
  1432.             BOOLEAN022 = 0
  1433.             FSeek 1, INTEGER035, 0
  1434.             INTEGER033 = INTEGER035
  1435.             :LABEL060
  1436.             INT019 = 0
  1437.             While (1) Do
  1438.                 Gosub LABEL080
  1439.                 If (BOOLEAN026) Then
  1440.                     Inc INT019
  1441.                     If (INT019 == U_PageLen - 1) Break
  1442.                 EndWhile
  1443.             Endif
  1444.             Goto LABEL056
  1445.         Case 3
  1446.             INT006 = 3
  1447.             If (BOOLEAN022) Goto LABEL061
  1448.             If (BOOLEAN023) BOOLEAN023 = 0
  1449.             Goto LABEL062
  1450.             :LABEL061
  1451.             Goto LABEL057
  1452.             :LABEL062
  1453.             StartDisp 1
  1454.             While (1) Do
  1455.                 INTEGER036 = INTEGER035
  1456.                 INTEGER035 = INTEGER033
  1457.                 For INTEGER008 = 0 To U_PageLen - 2
  1458.                     FDGet BIGSTR001
  1459.                     If (Ferr(1)) Then
  1460.                         If (INTEGER008 == 0) Then
  1461.                             INTEGER035 = INTEGER036
  1462.                         Endif
  1463.                         BOOLEAN022 = 1
  1464.                         Break
  1465.                     Endif
  1466.                     INTEGER033 = INTEGER033 + Len(BIGSTR001) + 2
  1467.                     Print STRING008, BIGSTR001
  1468.                     FreshLine
  1469.                     If (BIGSTR001 == "") Newline
  1470.                     If (Abort()) Break
  1471.                 Next
  1472.                 If (Abort()) Then
  1473.                     ResetDisp
  1474.                     FClose -1
  1475.                     Break
  1476.                 Endif
  1477.                 If (BOOLEAN022) Goto LABEL063
  1478.                 If (BOOLEAN023) BOOLEAN023 = 0
  1479.                 Continue
  1480.                 :LABEL063
  1481.                 FClose -1
  1482.                 Break
  1483.             EndWhile
  1484.             StartDisp 1
  1485.         Case 4
  1486.             INT006 = 4
  1487.             Backup 80
  1488.             ClrEol
  1489.             InputStr "@X07Enter string to search for", STRING044, 7, 60, Mask_Pwd(), 0 + 2
  1490.             If (OnLocal()) SaveScrn
  1491.             Shell 0, STRING029, PPEPath() + "fv.exe", STRING016 + " " + STRING025 + "\vpos " + String(INTEGER033) + " " + PPEPath() + " " + STRING044
  1492.             If (OnLocal()) RestScrn
  1493.             If (STRING029) Then
  1494.                 Backup 80
  1495.                 ClrEol
  1496.                 Print "@X0CString not found. Press Enter to continue."
  1497.                 While (Inkey() <> Chr(13)) Do
  1498.                 EndWhile
  1499.                 Backup 80
  1500.             Else
  1501.                 BOOLEAN024 = 1
  1502.                 INTEGER033 = ToInteger(ReadLine(STRING025 + "\vpos", 1))
  1503.                 FSeek 1, INTEGER033, 0
  1504.                 Goto LABEL056
  1505.             Endif
  1506.         Case 5
  1507.             INT006 = 5
  1508.             FSeek 1, 0, 0
  1509.             INTEGER033 = 0
  1510.             BOOLEAN022 = 0
  1511.             Goto LABEL056
  1512.         Case 6
  1513.             INT006 = 6
  1514.             FSeek 1, 0, 2
  1515.             BOOLEAN022 = 1
  1516.             INTEGER033 = INTEGER034
  1517.             Goto LABEL060
  1518.             Goto LABEL056
  1519.         Case 7
  1520.             INT006 = 7
  1521.             BOOLEAN026 = 0
  1522.             BOOLEAN022 = 0
  1523.             FSeek 1, INTEGER035, 0
  1524.             INTEGER033 = INTEGER035
  1525.             Gosub LABEL080
  1526.             Goto LABEL056
  1527.         Case 8
  1528.             INT006 = 8
  1529.             If (BOOLEAN022) Goto LABEL064
  1530.             FDGet BIGSTR001
  1531.             If (Ferr(1)) Goto LABEL064
  1532.             INTEGER033 = INTEGER033 + Len(BIGSTR001) + 2
  1533.             Backup 80
  1534.             ClrEol
  1535.             Print STRING008, BIGSTR001
  1536.             If (BIGSTR001 == "") Newline
  1537.             FreshLine
  1538.             FSeek 1, INTEGER035, 0
  1539.             FDGet BIGSTR001
  1540.             INTEGER035 = INTEGER035 + Len(BIGSTR001) + 2
  1541.             FSeek 1, INTEGER033, 0
  1542.             Goto LABEL057
  1543.             :LABEL064
  1544.         Case 9
  1545.             StartDisp 1
  1546.             INT006 = 9
  1547.             FClose -1
  1548.             FClose 1
  1549.             Return
  1550.         Case Else
  1551.             Goto LABEL057
  1552.     End Select
  1553.     Goto LABEL057
  1554.     :LABEL065
  1555.     INT003 = 1
  1556.     INT004 = 9
  1557.     STRING012 = PPEPath() + "graph\pghlp"
  1558.     Gosub LABEL005
  1559.     STRING012 = ""
  1560.     Return
  1561.     :LABEL066
  1562.     INT006 = 1
  1563.     INT003 = 1
  1564.     INT004 = 2
  1565.     TSTRING013(1) = ReadLine(STRING011, 39)
  1566.     TSTRING013(2) = ReadLine(STRING011, 40)
  1567.     STRING014 = ReadLine(STRING011, 41)
  1568.     Goto LABEL005
  1569.     :LABEL067
  1570.     INT003 = 1
  1571.     INT004 = 3
  1572.     TSTRING013(1) = ReadLine(STRING011, 42)
  1573.     TSTRING013(2) = ReadLine(STRING011, 43)
  1574.     TSTRING013(3) = ReadLine(STRING011, 44)
  1575.     STRING014 = ReadLine(STRING011, 45)
  1576.     Gosub LABEL005
  1577.     Return
  1578.     StartDisp 2
  1579.     If (BOOLEAN002) Then
  1580.         DispFile STRING025 + "\extra", 0
  1581.         StartDisp 1
  1582.         Return
  1583.     Endif
  1584.     FOpen 1, STRING025 + "\extra", 0, 0
  1585.     FDefIn 1
  1586.     FDGet STRING009
  1587.     BOOLEAN006 = 0
  1588.     :LABEL068
  1589.     If (Ferr(1)) Goto LABEL069
  1590.     If (Upper(Left(STRING009, 20)) == "          FILENAME: ") Then
  1591.         BOOLEAN006 = 1
  1592.     Else
  1593.         FDGet STRING009
  1594.         Goto LABEL068
  1595.     Endif
  1596.     :LABEL069
  1597.     If (BOOLEAN006) Goto LABEL070
  1598.     PrintLn ReadLine(STRING011, 46)
  1599.     FClose 1
  1600.     Return
  1601.     :LABEL070
  1602.     FreshLine
  1603.     PrintLn ReadLine(STRING011, 47)
  1604.     FDGet STRING009
  1605.     :LABEL071
  1606.     If (Ferr(1)) Goto LABEL072
  1607.     PrintLn STRING009
  1608.     FDGet STRING009
  1609.     If (Abort()) Goto LABEL072
  1610.     Goto LABEL071
  1611.     :LABEL072
  1612.     ResetDisp
  1613.     FClose 1
  1614.     Wait
  1615.     StartDisp 1
  1616.     Return
  1617.     :LABEL073
  1618.     FClose -1
  1619.     INTEGER037 = 0
  1620.     If (BOOLEAN002) INTEGER037 = 2
  1621.     STRING009 = ReadLine(STRING017, INTEGER037)
  1622.     INTEGER038 = 0
  1623.     INT006 = 1
  1624.     While (1) Do
  1625.         :LABEL074
  1626.         Inc INTEGER037
  1627.         STRING009 = ReadLine(STRING017, INTEGER037)
  1628.         If (STRING009 == "") Break
  1629.         If (Right(STRING009, 1) == "/") Goto LABEL074
  1630.         Inc INTEGER038
  1631.         FreshLine
  1632.         STRING031 = Replace(STRING009, "/", "\")
  1633.         STRING045 = STRING031
  1634.         If (BOOLEAN006) Goto LABEL075
  1635.         PrintLn ReadLine(STRING011, 29)
  1636.         Wait
  1637.         FClose -1
  1638.         Return
  1639.         :LABEL075
  1640.         Print ReplaceStr(ReadLine(STRING011, 48), "@OPTEXT@", STRING031)
  1641.         Gosub LABEL067
  1642.         If (INT005 == 1) Then
  1643.             FreshLine
  1644.             PrintLn ReadLine(STRING011, 49)
  1645.             If (BOOLEAN001) Then
  1646.                 FCreate 1, STRING025 + "zl", 1, 0
  1647.                 FPutLn 1, STRING031
  1648.                 FClose 1
  1649.                 Shell 0, STRING029, PPEPath() + STRING007, "ZIPVIEW " + STRING020 + " " + STRING001 + " " + STRING025 + "zl" + " " + STRING025 + "\work"
  1650.                 Goto LABEL076
  1651.             Endif
  1652.             Shell 0, STRING029, PPEPath() + STRING007, "ZIPVIEW " + STRING020 + " " + STRING001 + " " + STRING031 + " " + STRING025 + "\work"
  1653.             :LABEL076
  1654.             Gosub LABEL053
  1655.             FClose -1
  1656.             FAppend 1, STRING025 + "\work\" + STRING031, 1, 0
  1657.             FPutLn 1, ""
  1658.             FClose 1
  1659.             StartDisp 2
  1660.             DefColor
  1661.             Cls
  1662.             STRING016 = STRING025 + "\work\" + STRING031
  1663.             Gosub LABEL055
  1664.             INT006 = 1
  1665.             FClose -1
  1666.             Delete STRING025 + "\work\" + STRING031
  1667.             Continue
  1668.         Endif
  1669.         If (INT005 == 3) Then
  1670.             INT006 = 3
  1671.             Return
  1672.             Continue
  1673.         Endif
  1674.         INT006 = 2
  1675.     EndWhile
  1676.     If (INTEGER038 == 0) Then
  1677.         FreshLine
  1678.         PrintLn ReadLine(STRING011, 51)
  1679.         Wait
  1680.     Endif
  1681.     FClose -1
  1682.     Return
  1683.     :LABEL077
  1684.     FSeek 1, CurConf() * INT013 + 2 + 156, 0
  1685.     FRead 1, STRING009, 29
  1686.     FRead 1, STRING036, 26
  1687.     STRING036 = RTrim(STRING036, " ")
  1688.     FClose 1
  1689.     Return
  1690.     :LABEL078
  1691.     STRING032 = ""
  1692.     FSeek 1, CurConf() * INT013 + 2 + 482, 0
  1693.     FRead 1, STRING032, 33
  1694.     FClose 1
  1695.     If (Exist(STRING032)) Goto LABEL079
  1696.     STRING036 = ""
  1697.     Return
  1698.     :LABEL079
  1699.     FOpen 1, STRING032, 0, 0
  1700.     FSeek 1, 96 * (ToInteger(STRING035) - 1), 0
  1701.     If (Ferr(1)) Then
  1702.         STRING036 = ""
  1703.     Else
  1704.         FRead 1, STRING009, 30
  1705.         FRead 1, STRING036, 30
  1706.     Endif
  1707.     STRING036 = RTrim(STRING036, " ")
  1708.     FClose 1
  1709.     Return
  1710.     :LABEL080
  1711.     INTEGER039 = INTEGER033
  1712.     INTEGER040 = INTEGER033
  1713.     INTEGER041 = INT002
  1714.     BOOLEAN027 = 0
  1715.     BOOLEAN026 = 0
  1716.     BOOLEAN028 = 0
  1717.     If (INTEGER040 == 0) Return
  1718.     If (INTEGER040 < INT002) INTEGER041 = INTEGER040
  1719.     While (1) Do
  1720.         INTEGER040 = INTEGER040 - INTEGER041
  1721.         If (INTEGER040 == 0) Then
  1722.             BOOLEAN028 = 1
  1723.         Endif
  1724.         FSeek 1, 0 - INTEGER041, 1
  1725.         BYTE001 = 0
  1726.         FRead 1, BYTE001, 1
  1727.         If (BYTE001 == 10) Then
  1728.             Inc INTEGER040
  1729.         Else
  1730.             FSeek 1, -1, 1
  1731.         Endif
  1732.         INTEGER042 = 0
  1733.         While (1) Do
  1734.             FDGet BIGSTR001
  1735.             INTEGER040 = INTEGER040 + Len(BIGSTR001) + 2
  1736.             Inc INTEGER042
  1737.             If (INTEGER040 >= INTEGER039) Then
  1738.                 If (INTEGER042 <= 1) Then
  1739.                     If (BOOLEAN028) Then
  1740.                         BOOLEAN026 = 1
  1741.                         INTEGER033 = 0
  1742.                         FSeek 1, 0, 0
  1743.                         Return
  1744.                     Endif
  1745.                     Break
  1746.                     Continue
  1747.                 Endif
  1748.                 INTEGER033 = INTEGER033 - Len(BIGSTR001) - 2
  1749.                 INTEGER040 = Len(BIGSTR001) + 2
  1750.                 FSeek 1, 0 - INTEGER040, 1
  1751.                 If (BOOLEAN027) Then
  1752.                     BOOLEAN026 = 0
  1753.                     Goto LABEL081
  1754.                 Endif
  1755.                 BOOLEAN026 = 1
  1756.                 :LABEL081
  1757.                 BOOLEAN028 = 0
  1758.                 Return
  1759.             Endif
  1760.         EndWhile
  1761.         INTEGER041 = INTEGER041 + INT002
  1762.         If (INTEGER041 >= INTEGER040) INTEGER041 = INTEGER040
  1763.     EndWhile
  1764.     Return
  1765.     :LABEL082
  1766.     If (InStr(STRING006, "/") || InStr(STRING006, "\")) Then
  1767.         If (FileInf(STRING006, 9) <> "") Then
  1768.             STRING006 = FileInf(STRING006, 8) + "." + FileInf(STRING006, 9)
  1769.             Goto LABEL083
  1770.         Endif
  1771.         STRING006 = FileInf(STRING006, 8)
  1772.     Endif
  1773.     :LABEL083
  1774.     Return
  1775.  
  1776. ;------------------------------------------------------------------------------
  1777. ;
  1778. ; Usage report (before postprocessing)
  1779. ;
  1780. ; ■ Statements used :
  1781. ;
  1782. ;    10      End
  1783. ;    13      Cls
  1784. ;    5       ClrEol
  1785. ;    17      Wait
  1786. ;    458     Goto 
  1787. ;    403     Let 
  1788. ;    36      Print 
  1789. ;    44      PrintLn 
  1790. ;    286     If 
  1791. ;    7       DispFile 
  1792. ;    6       FCreate 
  1793. ;    13      FOpen 
  1794. ;    3       FAppend 
  1795. ;    49      FClose 
  1796. ;    8       FGet 
  1797. ;    8       FPutLn 
  1798. ;    5       ResetDisp
  1799. ;    34      StartDisp 
  1800. ;    1       GetUser
  1801. ;    20      DefColor
  1802. ;    17      Delete 
  1803. ;    11      Log 
  1804. ;    6       InputStr 
  1805. ;    59      Gosub 
  1806. ;    31      Return
  1807. ;    17      Inc 
  1808. ;    7       Dec 
  1809. ;    19      Newline
  1810. ;    6       Tokenize 
  1811. ;    11      Shell 
  1812. ;    13      KbdStuff 
  1813. ;    14      AnsiPos 
  1814. ;    12      Backup 
  1815. ;    1       Forward 
  1816. ;    44      FreshLine
  1817. ;    5       SaveScrn
  1818. ;    5       RestScrn
  1819. ;    15      FSeek 
  1820. ;    8       FRead 
  1821. ;    5       FDefIn 
  1822. ;    17      FDGet 
  1823. ;    5       Redim 
  1824. ;    2       Flag 
  1825. ;    1       SearchInit 
  1826. ;    1       SearchFind 
  1827. ;    1       PrFound 
  1828. ;
  1829. ;
  1830. ; ■ Functions used :
  1831. ;
  1832. ;    30      -
  1833. ;    14      *
  1834. ;    2       /
  1835. ;    12      %
  1836. ;    236     +
  1837. ;    29      -
  1838. ;    127     ==
  1839. ;    24      <>
  1840. ;    16      <
  1841. ;    22      <=
  1842. ;    13      >
  1843. ;    31      >=
  1844. ;    226     !
  1845. ;    33      &&
  1846. ;    33      ||
  1847. ;    13      Len(
  1848. ;    18      Upper()
  1849. ;    3       Mid()
  1850. ;    12      Left()
  1851. ;    6       Right()
  1852. ;    1       Space()
  1853. ;    14      Ferr()
  1854. ;    14      Chr()
  1855. ;    12      Asc()
  1856. ;    4       InStr()
  1857. ;    6       Abort()
  1858. ;    3       RTrim()
  1859. ;    7       Time()
  1860. ;    2       U_Name()
  1861. ;    1       YesChar()
  1862. ;    9       StripAtx()
  1863. ;    2       Replace()
  1864. ;    1       Strip()
  1865. ;    7       Inkey()
  1866. ;    12      String()
  1867. ;    3       Mask_Pwd()
  1868. ;    2       Mask_File()
  1869. ;    1       Mask_Ascii()
  1870. ;    3       CurConf()
  1871. ;    1       PCBDat()
  1872. ;    21      PPEPath()
  1873. ;    3       PcbNode()
  1874. ;    73      ReadLine()
  1875. ;    4       OnLocal()
  1876. ;    14      GetToken()
  1877. ;    13      Exist()
  1878. ;    3       LangExt()
  1879. ;    5       GetX()
  1880. ;    4       GetY()
  1881. ;    5       FileInf()
  1882. ;    2       TokCount()
  1883. ;    14      ReplaceStr()
  1884. ;    7       ToInteger()
  1885. ;    1       ToReal()
  1886. ;    1       FmtReal()
  1887. ;    1       PPLBufSize()
  1888. ;    2       PCBMac()
  1889. ;
  1890. ;------------------------------------------------------------------------------
  1891. ;
  1892. ; Analysis flags : Sfd
  1893. ;
  1894. ; S - Shell to DOS ■ 5
  1895. ;     This may be normal if the PPE need to execute an external command,
  1896. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  1897. ;     or usefull (sorting, maintenance,...). Check!
  1898. ;     ■ Search for : SHELL
  1899. ;
  1900. ; f - Flag files for download ■ 3
  1901. ;     This may be normal if a PPE needs to send some files, but since
  1902. ;     this statement allows flagging of any file on the hard disk, you
  1903. ;     have to be carefull. Check!
  1904. ;     ■ Search for : FLAG
  1905. ;
  1906. ; d - Access PCBOARD.DAT ■ 2
  1907. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  1908. ;     for many PPE so they can find various informations on the system
  1909. ;     (system paths, max number of lines in messages, ...) but it may also
  1910. ;     be a way to gather vital informations.
  1911. ;     ■ Search for : PCBDAT()
  1912. ;
  1913. ;------------------------------------------------------------------------------
  1914. ;
  1915. ; Postprocessing report
  1916. ;
  1917. ;    12      For/Next
  1918. ;    12      While/EndWhile
  1919. ;    126     If/Then or If/Then/Else
  1920. ;    5       Select Case
  1921. ;
  1922. ;------------------------------------------------------------------------------
  1923. ;                 AEGiS Corp - Break the routines, code against the machines!
  1924. ;------------------------------------------------------------------------------
  1925.